package day06;


public class MethodDemo1 {
    public static void main(String[] args) {
        /*
        1.形参：形式参数，定义方法时的参数为形参
        2.实参：实际参数，调用方法时，实际使用的参数为实参
        */
/*
        //调用方法，直接调用下面的say
        say();
        //调用完下面的say方法后，在输出一个分割线
        System.out.println("--------------------------");

        //调用方法，直接调用下面的sayHi
        sayHi("张三");
        sayHi("李四");
        System.out.println("--------------------------");

        //调用方法，直接调用下面的sayhello
        sayhello("小明", 18);
        sayhello("小红", 20);
        System.out.println("--------------------------");

        //调用方法，直接调用下面的sum
        //sum(10,20)的值就是 return 后面的数
        int a = sum(10, 20);
        //输出sum的值
        System.out.println(a);
        System.out.println("--------------------------");

        int m = 5, n = 6;
        //传的是m和n里面的参数值，然后求和
        int b = sum(m, n);
        //输出sum的值b
        System.out.println(b);
        System.out.println("--------------------------");

        sayHello("小明", 35);
        sayHello("小红", 20);
*/
        //自动绑定无参say
        say();
        //自动绑定String参的say
        say("zhangsan");
        //自动绑定String+int参的say
        say("lisi",25);
        //编译错误，没有double参的say
        //say(3.456);

        System.out.println("----------------------------------------------------");
        //一执行上面的就调用下面的内容，然后输出内容
    }





    //自动绑定无参say
    public static void say() {
        System.out.println("大家好，我叫SXD，今年18岁了");
    }

    //自动绑定String参的say
    public static void say(String name) {
        System.out.println("大家好，我叫" + name + "，今年18岁了");
    }

    //自动绑定String+int参的say
    public static void say(String name, int age) {
        System.out.println("大家好，我叫" + name + "，今年" + age + "岁了");
    }


    public static void say(int age) { } //正确的重载
    public static void say(int age, String name) { } //正确的重载
    //  public static int say(return 1;) { }    //编译错误，重载与返回值类型无关
    //  public static void say(String address){}  //编译错误，重载与参数名称无关





    //有参无返回值（写活姓名，写死年龄）
    public static void sayHi(String name) {
        System.out.println("大家好，我叫" + name + "，今年18岁了");
    }


    //有参无返回值（写活姓名和年龄）
    public static void sayhello(String name, int age) {
        System.out.println("大家好，我叫" + name + "，今年" + age + "岁了");
    }


    //有参有返回值
    public static int sum(int num1, int num2) {
        int num = num1 + num2;
        //返回的是num里面的那个数，即num1和num2的和
        return num;
        //return num1+num2;
    }

    //有参无返回值
    public static void sayHello(String name,int age){
        //在达成某种特定条件下，提前结束方法，而不输出内容
        if(age>=30){
            //提前结束方法
            return;
        }
        System.out.println("大家好，我叫"+name+"，今年"+age+"岁了");
    }

}

